#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>

int main() {
    // 关闭文件描述符1，即关闭标准输出。
    close(1);

    // 打开"log.txt"文件。因为文件描述符1是最小的且当前未被使用的，它将被分配给"log.txt"。
    int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC,0666);
    if (fd < 0) {
        // 如果打开文件失败，则打印错误信息并退出程序。
        perror("open");
        return 1;
    }

    // 此时，printf将输出到文件描述符1，也就是"log.txt"。
    printf("fd: %d\n", fd);  // 输出将被写入"log.txt"

    return 0;
}
